home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dgbbrd.z / dgbbrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          DDDDGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DGBBRD - reduce a real general m-by-n band matrix A to upper bidiagonal
  10.      form B by an orthogonal transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, LDQ, PT,
  14.                         LDPT, C, LDC, WORK, INFO )
  15.  
  16.          CHARACTER      VECT
  17.  
  18.          INTEGER        INFO, KL, KU, LDAB, LDC, LDPT, LDQ, M, N, NCC
  19.  
  20.          DOUBLE         PRECISION AB( LDAB, * ), C( LDC, * ), D( * ), E( * ),
  21.                         PT( LDPT, * ), Q( LDQ, * ), WORK( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DGBBRD reduces a real general m-by-n band matrix A to upper bidiagonal
  25.      form B by an orthogonal transformation: Q' * A * P = B.
  26.  
  27.      The routine computes B, and optionally forms Q or P', or computes Q'*C
  28.      for a given matrix C.
  29.  
  30.  
  31. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  32.      VECT    (input) CHARACTER*1
  33.              Specifies whether or not the matrices Q and P' are to be formed.
  34.              = 'N': do not form Q or P';
  35.              = 'Q': form Q only;
  36.              = 'P': form P' only;
  37.              = 'B': form both.
  38.  
  39.      M       (input) INTEGER
  40.              The number of rows of the matrix A.  M >= 0.
  41.  
  42.      N       (input) INTEGER
  43.              The number of columns of the matrix A.  N >= 0.
  44.  
  45.      NCC     (input) INTEGER
  46.              The number of columns of the matrix C.  NCC >= 0.
  47.  
  48.      KL      (input) INTEGER
  49.              The number of subdiagonals of the matrix A. KL >= 0.
  50.  
  51.      KU      (input) INTEGER
  52.              The number of superdiagonals of the matrix A. KU >= 0.
  53.  
  54.      AB      (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
  55.              On entry, the m-by-n band matrix A, stored in rows 1 to KL+KU+1.
  56.              The j-th column of A is stored in the j-th column of the array AB
  57.              as follows:  AB(ku+1+i-j,j) = A(i,j) for max(1,j-
  58.              ku)<=i<=min(m,j+kl).  On exit, A is overwritten by values
  59.              generated during the reduction.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          DDDDGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDAB    (input) INTEGER
  75.              The leading dimension of the array A. LDAB >= KL+KU+1.
  76.  
  77.      D       (output) DOUBLE PRECISION array, dimension (min(M,N))
  78.              The diagonal elements of the bidiagonal matrix B.
  79.  
  80.      E       (output) DOUBLE PRECISION array, dimension (min(M,N)-1)
  81.              The superdiagonal elements of the bidiagonal matrix B.
  82.  
  83.      Q       (output) DOUBLE PRECISION array, dimension (LDQ,M)
  84.              If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.  If VECT =
  85.              'N' or 'P', the array Q is not referenced.
  86.  
  87.      LDQ     (input) INTEGER
  88.              The leading dimension of the array Q.  LDQ >= max(1,M) if VECT =
  89.              'Q' or 'B'; LDQ >= 1 otherwise.
  90.  
  91.      PT      (output) DOUBLE PRECISION array, dimension (LDPT,N)
  92.              If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.  If VECT =
  93.              'N' or 'Q', the array PT is not referenced.
  94.  
  95.      LDPT    (input) INTEGER
  96.              The leading dimension of the array PT.  LDPT >= max(1,N) if VECT
  97.              = 'P' or 'B'; LDPT >= 1 otherwise.
  98.  
  99.      C       (input/output) DOUBLE PRECISION array, dimension (LDC,NCC)
  100.              On entry, an m-by-ncc matrix C.  On exit, C is overwritten by
  101.              Q'*C.  C is not referenced if NCC = 0.
  102.  
  103.      LDC     (input) INTEGER
  104.              The leading dimension of the array C.  LDC >= max(1,M) if NCC >
  105.              0; LDC >= 1 if NCC = 0.
  106.  
  107.      WORK    (workspace) DOUBLE PRECISION array, dimension (2*max(M,N))
  108.  
  109.      INFO    (output) INTEGER
  110.              = 0:  successful exit.
  111.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.